package com.jic.market.service.skill;

import com.jic.common.base.vo.Page;
import com.jic.common.base.vo.PageResult;
import com.jic.common.base.vo.RestResult;
import com.jic.market.entity.skill.ActivityStoreConfig;
import com.jic.market.request.CouponDetailRequest;
import com.jic.market.request.manager.base.PromotionIdRequest;

import java.util.List;

/**
 * 活动店铺基础配置表
 *
 * @author : seven
 * @version : v1.0.0
 * @email : 774329481@qq.com
 * @since : 2020-03-12 05:30:04
 */
public interface ActivityStoreConfigService {

    long insert(ActivityStoreConfig activityStoreConfig);

    long delete(String promotionId);

    long update(ActivityStoreConfig activityStoreConfig);

    ActivityStoreConfig queryByPrimaryKey(Long id);

    List<ActivityStoreConfig> query(ActivityStoreConfig activityStoreConfig);

    PageResult<ActivityStoreConfig> queryPage(ActivityStoreConfig activityStoreConfig, Page pageQuery);

    List<ActivityStoreConfig> queryStoreByPromotionId(String promotionId , Integer start , Integer limit,List<Long> authStoreIds, CouponDetailRequest promotionIdRequest);

    List<String> queryStoreIdByPromotionId(String promotionId);

    long deleteStoreByPromotionIdAndMerchantId(String promotionId,
                                            String merchantId);

    long deleteStoreByPromotionIdAndStoreId(String promotionId,
                                            String storeId);

    public boolean copyStore(PromotionIdRequest promotionIdRequest, String newPromotionId);

    Long queryByPromotionIdTotal(String promotionId,List<Long> authStoreIds, CouponDetailRequest promotionIdRequest);

    List<Long> getStoreIdsByPromotionId(String promotionId);

    RestResult<List<Long>> getCouponStoreIdsByPromotionId(PromotionIdRequest promotionIdRequest);
}